package com.kotlin

/**
 * 测试类的伴生对象和静态方法
 *
 * @JvmField 在java中静态方法的调用
 * @JvmStatic 在java中静态方法的调用
 *
 * @author huan.fu
 * @date 2019-03-10 - 19:46
 */

class Latitude private constructor(val value: Double) {

    /**
     * 伴生对象
     */
    companion object {
        /**
         * 加了此注解后，在java中就可以直接使用 Latitude.tag
         */
        @JvmField
        val tag : String = "静态变量，比如记录日志"

        /**
         * 加了此注解后，在java中就可以直接使用 Latitude.ofDouble()
         */
        @JvmStatic
        fun ofDouble(double: Double): Latitude = Latitude(double)
    }

}

fun main() {
    var latitude = Latitude.ofDouble(9.9)
    println(Latitude.ofDouble(9.9) === latitude)
    println(latitude.value)
}